package br.com.estevam.sisfin.pages.cadastros;

import org.apache.tapestry5.annotations.Component;
import org.apache.tapestry5.annotations.PageActivationContext;
import org.apache.tapestry5.corelib.components.BeanEditForm;
import org.apache.tapestry5.ioc.annotations.Inject;

import br.com.estevam.sisfin.base.DefaultPage;
import br.com.estevam.sisfin.daos.interfaces.BancoDAO;
import br.com.estevam.sisfin.entities.Banco;

public class CadastroBancoAddEdit extends DefaultPage {

	@PageActivationContext
	private Banco banco;

	@Inject
	private BancoDAO bancoDAO;

	@Component
	private BeanEditForm beanEditForm;

	void onValidateFromCodBanco(int codBanco){
		final Banco b = bancoDAO.findByCodBanco(codBanco);
		if(b != null && this.banco.getId() == 0){
			beanEditForm.recordError("O Banco do descrição é " + b.getDescricao() + " e " +
					"codigo é " + b.getCodBanco() + " ja está cadastrando");
		} 
	}

	Class<CadastroBanco> onSuccess(){
		bancoDAO.addOrUpdate(banco);
		return CadastroBanco.class;
	}

	public boolean isEdit(){
		return (this.getBanco().getId() == 0 ? true : false);
	}

	public Banco getBanco() {
		return banco;
	}

	public void setBanco(Banco banco) {
		this.banco = banco;
	}

}
